آموزش ساخت بازی با یونیتی
 
 


آموزش نور پردازی در unity 3d



(یونیتی)




در این قسمت به نور پردازی در یونیتی می پردازیم.



نور پردازی :

در انجین های سه بعدی و نرم افزارهای سه بعدی ساز یکی از مهمترین قسمت ها نور پردازی است زیرا اگر نور پردازی به صورت صحیح انجام نشود ممکن است یک پروژه خوب را بد جلوه دهد و به پروژه آسیب های جدی ای بزند پس شما باید به نور پردازی بازی دقت زیادی کنید .

دریونیتی نور پردازی سه نوع است :
Spot light
Point light
Directional light


Spot light

اسپات لایت فقط قسمتی دایره ای شکل را روشن می کند و اگر از زمین بازی دورش کنیم نور دایره ای شکل محیط بیشتری را در بر می گیرد که شبیه به نمایش ها وقتی کسی را می خواهند نشان دهد است.







این نور را می توان در بازی های تاریک به عنوان چراغ قوه استفاده کرد.




یکی دیگر از نور های یونیتی پوینت لایت است که کاربردهای زیادی دارد. اسپات لایت یک محیط دایره ای شکل را روشن میکند و شما می توانید شعاع این دایره را افزایش دهید.



تصویری از نوع تابش پوینت لایت



تصویری از نوع تابش پوینت لایت


از کاربردهای اسپات لایت ساخت گوی های نوری و جسمهایی که نور تولید می کنند می توان اشاره کرد.



Directional light

پر کاربرد ترین نور در یونیتی دایرکشن لایت است این نور پر استفاده ترین نور در تمام بازی ها است . دایرکشن لایت محیط بسیار عظیمی را روشن می کند که در بیشتر مواقع شما به نور عادی مانند روز نیاز دارید و برای بوجود آوردن این نوع نور باید از دایرکشن لایت استفاده کرد.



نوع تابش دایرکشنال لایت



در بازی می توانید استفاده های متنوعی از دایرکشنال لایت کنید.



استفاده از تکسچر برای حالت دادن به نور : 

در یونیتی می توانید به نور تکسچر اضافه کنید با اینکار می توانید سایه ی اجسام یا حالتی از نور را نمایش دهید.




استفاده از تکسچر در دایرکشنال لایت



استفاده از تکسچر در اسپات لایت



استفاده از تکسچر در پوینت لایت


ارسال شده در تاریخ : چهار شنبه 11 تير 1393برچسب:اموزش یونیتی, :: 1:42 :: توسط : سجاد

فیزیک پارچه و SoftBody در unity 3d



(یونیتی) 



سیستم های SoftBody از نسخه ی سوم یونیتی وارد این موتور شد. قبل از آن توسط روش های پیچیده تری


 می شد این سیستم رو پیاده کرد که خیلی هم بهینه نبودند. در این سری آموزش قصد داریم تنظیمات مربوط


 به Cloth در یونیتی و همچنین ساخت چندین نمونه رو پوشش بدیم.


خوب شروع می کنیم. اول یک سطح پارچه معمولی رو وارد صحنه می کنیم. برای این کار مسیر زیر رو


 دنبال می کنیم.


GameObject > Create Other > Cloth


مشاهده می کنید که یک Plane وارد صحنه شد. حالا یک متریال برای این سطح ساخته و به متریال کامپوننت


 Cloth Renderer نسبت می دهیم. حالا پارچه ما آماده است و برای تست اون کافیه که یک Sphere ساده


ایجاد کرده و در زیر پارچه قرار داده و صحنه را Run کنیم تا خروجی را مشاهده کنیم.


ساده ترین نوع پارچه ایجاد شده. ولی پارچه ها در دنیای واقعی خاصیت ها و ویژگی های منحصری نسبت


 به هم دارند. مثلا برخی از آنها خیلی ظریف و نرم و برخی دیگر خشک و محکم هستند. مثلا الیاف پارچه


 یک پرده و یا پرچم با الیافی که در پارچه جین ها به کار رفته متفاوت هستش. حتی پارچه هایی خشک تر از


جین هم وجود داره که شبیه چرم هستند. به علاوه اون برخی از پارچه ها کشی هستند و برخی دیگر نه.


حال Cloth ساخته شده را انتخاب و پارامتر های آن را هماننند تصویر زیر تنظیم نمایید.



و پارامتر های کامپوننت Cloth Renderer رو همانند زیر تنظیم کنید:



حال مهمترین پارامتر های کامپوننت Interactive Cloth رو بررسی می کنیم
Bending Stiffness : که مقداری بین ۰ و ۱ می باشد که میزان خمیدگی چند ضلعی های پارچه رو مشخص می کند. اگر این مقدار بیشتر باشد پارچه خشک تر می شود و به آسانی خم نمی شود و اگر مقدار آن کمتر باشد پارچه نرم تر می شود.
Stretching Stiffness : این پارامتر میزان کش دار بودن و کشیدگی چند ضلعی های پارچه را تعیین می کند. مقدار کم باعش شل بودن پارچه می شود.
Damping : تاثیر فشار هوا بر حرکت جسم.
Thickness : میزان ضخامت و کلفتی پارچه را مشخص می کند.برای جلوگیری از تو رفتگی زیاد می توان مقدار آن را زیاد کرد ولی معمولا بین ۰٫۳ تا ۰٫۶ مقدار مناسبی است.
Use Gravity : با فعال کردن آن جاذبه زمین روی پارچه تاثیر دارد.
Self Collision : با فعال کردن آن پارچه با خودش برخورد دارد و توی هم نمی رود.
Friction : میزان اصطحکاک سطح پارچه را تعیین می کند.
تا اینجا با این پارامتر ها آشنا شدیم و در قسمت های بعد پارامتر های بیشتر مورد بررسی قرارا می گیرد،
حالا کامپوننت Cloth Renderer رو بررسی می کنیم:
Materials : که بافت سطح رو مشخص می کنه
Pause When Not Visible : با فعال کردن این گزینه وقتی پارچه در معرض دید دوربین نباشد غیر فعال است و محاسباتی روی آن انجام نمی شود.
در زیر تصاویر نهایی کار را بعد از اجرا مشاهده می کنید:








ارسال شده در تاریخ : چهار شنبه 11 تير 1393برچسب:اموزش یونیتی, :: 1:40 :: توسط : سجاد

بهینه کردن کد و پردازش در بازی هادر یونیتی(unity 3d)
شاید شما هم جزو آن دسته از افراد باشید که بازیتان در حالت اجرا پردازش زیادی دارد.


این مشکل به چه دلایلی است.



چند دلیل مهم است که باید در زمان ساخت و برنامه نویسی گیم مراقب باشید.




۱- استفاده از اسپرایت و مدل :

در بازی نباید از مدل هایی با پلیگان زیاد استفاده کنید زیرا این کار پردازش زیادی نیازمند است و در این صورت باعث مشکل در اجرای بازی می شود و بیشتر از مدل هایی با فرمت FBX استفاده کنید.

در بازی نباید از اسپرایت هایی با حجم بالا استفاده کنید بعضی ها برای ارتقای گرافیک بازی دو بعدی از مدل های سه بعدی خروجی پی ان جی می گیرند و این حجم بسیار بالایی دارد که باعث حجیم شدن بازی می شود و در اجرا به مشکل خواهید خورد.

۲- استفاده زیاد از رویداد Step /Update :

این رویداد ها در هر فریم در حال اجرا هستند به همین علت پردازش بسیار بالایی دارند و باعث کند شدن بازی می شوند پس باید از این رویداد به شدت دوری کنید و در مواقعی که راه دیگری وجود ندارد باید از این رویداد استفاده کنید.



۳- استفاده از آبجکت :

شما نباید برای هر کاری یک آبجکت بوجود بیاورید می توانید با ساخت یک آبجکت کنترلر تمام دستورات از جمله پخش دمو ها موزیک ها و بوجود آمدن آبجکتهای جدید را درون آن بریزید تا از بوجود آمدن آبجکت زیاد در نتیجه افزایش پردازش جلو گیری کنید.

آبجکت هایی مانند گلوله ها برایشان تایمی تایین کنید که بعد از زمانی حذف شوند تا پردازش افزایش پیدا نکند.

وقتی محیطی را رد می کنید در بازی تمام آبجکت های آن محیط را حذف کنید تا پردازش به آبجکت های در حال استفاد برسد. اگر آبجکتی را دیگر نیاز ندارید حتما آن را حذف کنید.



۴- الگوریتم مناسب و کد نویسی ها :

همیشه به دنبال الگوریتم بهینه تر و استفاده کمتر از متغیر و استفاده بیشتر و بهینه تر از توابع انجین بگردید.

خیلی از رویداد هایی که شما در رویداد های آیدیت یا استپ قرار می دهید را می توان در فشردن و برداشتن دست از روی کلیدی قرار داد مانند چک کردن تعداد تیرها:

وقتی کلید را فشار داد تیر ها را چک کند و در حالت نگه داشتن اگر تیری داشت تیر اندازی کند همیشه به دنبال همچنین راه هایی باشید .

سعی کنید کمتر کد بزنید و بیشتر فکر کنید زیرا هر چه کد کمتر باشد پردازش بهتر است.

همیشه بعد از اینکه کد را نوشتید به دقت کد خود را کامنت گذاری کنید تا کده ای اضافی سریع تر بشوند و کد خوانا تر شود.



۵- شناخت امکانات:

سعی کنید از امکانات انجین بیشتر استفاده کنید تا پردازش پایین تری را تجربه کنید بعضی انجین ها بطور پیش فرض درخت ٬ باد ٬ هوش مصنوعی و غیره را دارا هستند حتما از امکانات استفاده کنید و سعی نکنید که خودتان این امکانات را بوجود بیاورید زیرا اینکار پردازش سنگینی را بوجود میاورد. برای مثال شما در ساخت بازی ای هستید که در جنگل است و اگر از درخت انجین استفاده نکنید باید ۱۰۰۰ مدل سه بعدی را وارد بازی کنید و این کار پردازش بسیار بالایی را خواستار است.


ارسال شده در تاریخ : چهار شنبه 11 تير 1393برچسب:اموزش یونیتی, :: 1:37 :: توسط : سجاد

صفحه قبل 1 صفحه بعد

درباره وبلاگ
آموزش موتور بازیسازی یونیتی
نکاتی درباره بازیسازی بسته تست زنی مهندسی معکوس معرفی چندتا سایت به درد بخور معرفی موتور یونیتی
نويسندگان
پيوندها

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان آموزش ساخت بازی با یونیتی و آدرس sjl002.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.آرام






ورود اعضا:

نام :
وب :
پیام :
2+2=:
(Refresh)

خبرنامه وب سایت:





آمار وب سایت:  

بازدید امروز : 6
بازدید دیروز : 7
بازدید هفته : 15
بازدید ماه : 14
بازدید کل : 15502
تعداد مطالب : 8
تعداد نظرات : 1
تعداد آنلاین : 1